using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("StoreMobilePurchase")]
	public class StoreMobilePurchase : MonoClass
	{
		public enum PURCHASE_STATUS_CODE
		{
			PURCHASE_SUCCESSFUL,
			PURCHASE_FAILED,
			PURCHASE_RECOVERED,
			PURCHASE_NOT_AVAILABLE
		}

		public StoreMobilePurchase(IntPtr address, string className)
			: base(address, className)
		{
		}

		public StoreMobilePurchase(IntPtr address)
			: this(address, "StoreMobilePurchase")
		{
		}

		public static void ClearProductList()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "ClearProductList");
		}

		public static void SetGameAccountIdAndRegion(ulong gameAccountId, int gameRegion)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "SetGameAccountIdAndRegion", gameAccountId, gameRegion);
		}

		public static void AddProductById(string mobileProductId)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "AddProductById", mobileProductId);
		}

		public static void ValidateAllProducts(string gameObjectName)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "ValidateAllProducts", gameObjectName);
		}

		public static double GetProductPrice(string mobileProductId)
		{
			return MonoClass.smethod_14<double>(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "GetProductPrice", new object[1] { mobileProductId });
		}

		public static string GetLocalizedProductPrice(string mobileProductId)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "GetLocalizedProductPrice", mobileProductId);
		}

		public static string GetLocalizedPrice(double price)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "GetLocalizedPrice", price);
		}

		public static void PurchaseProductById(string mobileProductId)
		{
			MonoClass.smethod_19(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "PurchaseProductById", new Class276.Enum20[1] { Class276.Enum20.String }, mobileProductId);
		}

		public static void PurchaseProductById(string mobileProductId, string transactionId)
		{
			MonoClass.smethod_19(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "PurchaseProductById", new Class276.Enum20[2]
			{
				Class276.Enum20.String,
				Class276.Enum20.String
			}, mobileProductId, transactionId);
		}

		public static bool IsWaitingForPurchase()
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "IsWaitingForPurchase", Array.Empty<object>());
		}

		public static PURCHASE_STATUS_CODE GetStatusCodeOfLastPurchase()
		{
			return MonoClass.smethod_14<PURCHASE_STATUS_CODE>(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "GetStatusCodeOfLastPurchase", Array.Empty<object>());
		}

		public static string GetStatusDescriptionOfLastPurchase()
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "GetStatusDescriptionOfLastPurchase");
		}

		public static int NumReceiptsAvailable()
		{
			return MonoClass.smethod_14<int>(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "NumReceiptsAvailable", Array.Empty<object>());
		}

		public static IntPtr GetNextReceipt()
		{
			return MonoClass.smethod_14<IntPtr>(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "GetNextReceipt", Array.Empty<object>());
		}

		public static void DismissNextReceipt(bool consume)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "DismissNextReceipt", consume);
		}

		public static void FinishTransactionForId(string transactionId)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "FinishTransactionForId", transactionId);
		}

		public static void GamePurchaseStatusResponse(string transactionId, bool isSuccess)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "GamePurchaseStatusResponse", transactionId, isSuccess);
		}

		public static void ThirdPartyPurchaseStatus(string transactionId, Network.ThirdPartyPurchaseStatusResponse.PurchaseStatus status)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "ThirdPartyPurchaseStatus", transactionId, status);
		}

		public static void Reset()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "Reset");
		}

		public static void TransactionStatusNotReady()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "TransactionStatusNotReady");
		}

		public static void TransactionStatusReady()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "TransactionStatusReady");
		}

		public static void WaitingOnThirdPartyReceipt(string mobileProductId)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "WaitingOnThirdPartyReceipt", mobileProductId);
		}

		public static void ProcessNextPendingTransaction()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "ProcessNextPendingTransaction");
		}

		public static string ThirdPartyUserId()
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "ThirdPartyUserId");
		}

		public static void SetBattleNetGameAccountIdAndRegion(ulong gameAccountId, int gameRegion)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "SetBattleNetGameAccountIdAndRegion", gameAccountId, gameRegion);
		}

		public static void ClearMobileStoreProducts()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "ClearMobileStoreProducts");
		}

		public static void AddProductToAllProductsList(string mobileProductId)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "AddProductToAllProductsList", mobileProductId);
		}

		public static void ValidateProducts(string gameObjectName)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "ValidateProducts", gameObjectName);
		}

		public static void RequestPurchaseByProductId(string mobileProductId, string transactionId)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "RequestPurchaseByProductId", mobileProductId, transactionId);
		}

		public static double ProductPriceById(string mobileProductId)
		{
			return MonoClass.smethod_14<double>(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "ProductPriceById", new object[1] { mobileProductId });
		}

		public static string LocalizedProductPriceById(string mobileProductId)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "LocalizedProductPriceById", mobileProductId);
		}

		public static string LocalizedPrice(double price)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "LocalizedPrice", price);
		}

		public static bool DeviceIsWaitingForPurchase()
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "DeviceIsWaitingForPurchase", Array.Empty<object>());
		}

		public static int GetLastPurchaseStatusCode()
		{
			return MonoClass.smethod_14<int>(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "GetLastPurchaseStatusCode", Array.Empty<object>());
		}

		public static string GetLastPurchaseStatusDescription()
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "GetLastPurchaseStatusDescription");
		}

		public static int GetNumReceiptsAvailable()
		{
			return MonoClass.smethod_14<int>(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "GetNumReceiptsAvailable", Array.Empty<object>());
		}

		public static IntPtr NextReceipt()
		{
			return MonoClass.smethod_14<IntPtr>(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "NextReceipt", Array.Empty<object>());
		}

		public static void DismissReceipt(bool consume)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "DismissReceipt", consume);
		}

		public static string ReceiptStringForTransactionId(string transactionId)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "ReceiptStringForTransactionId", transactionId);
		}

		public static void FinishTransactionId(string transactionId)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "FinishTransactionId", transactionId);
		}

		public static void OnGamePurchaseStatusResponse(string transactionId, bool isSuccess)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "OnGamePurchaseStatusResponse", transactionId, isSuccess);
		}

		public static void OnThirdPartyPurchaseStatus(string transactionId, int status)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "OnThirdPartyPurchaseStatus", transactionId, status);
		}

		public static void OnReset()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "OnReset");
		}

		public static void StoreTransactionStatusNotReady()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "StoreTransactionStatusNotReady");
		}

		public static void StoreTransactionStatusReady()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "StoreTransactionStatusReady");
		}

		public static void RequestThirdPartyReceipt(string mobileProductId)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "RequestThirdPartyReceipt", mobileProductId);
		}

		public static void SubmitNextPendingTransaction()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "SubmitNextPendingTransaction");
		}

		public static string GetThirdPartyUserId()
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "StoreMobilePurchase", "GetThirdPartyUserId");
		}
	}
}
